package com.tiancheng.trade.order.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.tiancheng.trade.order.model.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 退款实体
 *
 * @author kellen
 * @date 2024-03-18
 */
@Data
@TableName(value = "refund_orders_detail")
@EqualsAndHashCode(callSuper = true)
public class RefundOrdersDetail extends BaseEntity implements java.io.Serializable {

    /** 退款id */
    private String refundId;

    /** 子退款id */
    private String subRefundId;
    /** 主订单号 */
    private String orderId;
    /** 子订单号 */
    private String subOrderId;
    /** 交易中台退款单号 */
    private String paymentId;
    /** 交易中台子退款单号 */
    private String subPaymentId;
    /** 退款流水号 */
    private String flowId;
    /** 对应的支付流水号 */
    private String payFlowId;
    /** 对应的子订单支付流水号 */
    private String subPayFlowId;
    /** 用户id */
    private String uid;
    /** 业务渠道来源 */
    private String orderSource;
    /** 商户编码 */
    private String merchantCode;
    /** 商户名称 */
    private String merchantName;
    /** 产品编码 */
    private String productCode;
    /** 产品名称 */
    private String productName;
    /** 申请退款金额 */
    private Integer refundApplyAmount;
    /** 实际退款金额 */
    private Integer refundAmount;
    /** 退款状态 */
    private String refundStatus;
    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime refundTime;
    /** 退款原因 */
    private String refundReason;
    /** 核销id */
    private Long verificationId;
    /** 退款时子订单状态 */
    private String subOrderStatus;
    /** appid */
    private String appId;
    /** 请求ip */
    private String ip;

    /** 子订单金额 */
    private Integer subOrderAmount;
    /** 子订单实际支付金额 */
    private Integer subOrderPayAmount;
    /** 子订单优惠金额 */
    private Integer discount;
    /** 子订单平台优惠金额 */
    private Integer platformDiscount;

}